// 判断设备是否锁屏
var isScreenOn = device.isScreenOn();

const androidId = device.getAndroidId();
if (androidId == 'd646db360c28bd2a') {
    //iQOO 11 Pro
    var password = "260284";
    // 各数字的坐标，需要根据实际屏幕调整！！！！！
    var keyPositions = {
        "1": [340, 1800],
        "2": [730, 1800],
        "3": [1100, 1800],
        "4": [340, 2076],
        "5": [730, 2076],
        "6": [1130, 2076],
        "7": [340, 2342],
        "8": [730, 2342],
        "9": [1130, 2342],
        "0": [730, 2623],
    };
} else if (androidId == 'a758feb5e256dc4f') {
    //iQOO new 9 pro
    var password = "698745";
    // 各数字的坐标，需要根据实际屏幕调整！！！！！
    var keyPositions = {
        "1": [320, 1760],
        "2": [630, 1760],
        "3": [950, 1760],
        "4": [320, 1980],
        "5": [630, 1980],
        "6": [950, 1980],
        "7": [320, 2230],
        "8": [630, 2230],
        "9": [950, 2230],
        "0": [630, 2470],
    };
}


if(!isScreenOn){ //如果锁屏
    // 唤醒设备
    device.wakeUpIfNeeded();
    // 等待屏幕响应
    sleep(300);

    // 从底部向上滑动（调出密码界面）
    var startY = device.height - 100;
    var endY = 100;
    swipe(device.width / 2, startY, device.width / 2, endY, 500);
    sleep(300);

    // 输入密码
    for (var i = 0; i < password.length; i++) {
        var num = password.charAt(i);
        var pos = keyPositions[num];
        if (pos) {
            click(pos[0], pos[1]);
            sleep(50); // 根据输入响应速度调整
        }
    }

    // 等待解锁完成
    sleep(1000);

}

// // 打开支付宝
launchApp("支付宝");
toast("等待支付宝启动...");
sleep(3000);



// //知识问答
function finfish() {
    var coin = text("职业小知识问答").findOne(1000);
    toastLog("职业小知识问答");
    if (coin) {
        click(coin.bounds().centerX()*1.75, coin.bounds().centerY()*1.04);
        sleep(2000);
        //默认选择第二个答案
        click(device.width*0.52,device.height*0.72);
        sleep(2000);
        // 去领取
        click(device.width*0.52,device.height*0.85);
    }
    sleep(1000);
    var lingqu = getCoin();
    if (lingqu) {
        return true;
    }
}

// //点击领取按钮
function getCoin() {
    toastLog("领取加速");
    for (var i = 0; i < 5; i++) {
        var getCoin = text("领取").findOne(2000);
        if (getCoin) {
            getCoin.click();
            sleep(500);
        } else {
            toastLog("没有可领取的加速币");
        }
    }
    return true;
}

//新村任务领取
function toRunOnceDaily() {
    // 导入必要的模块
    const storage = storages.create("daily_execution");
    // 获取当前日期字符串（例如"2025年3月28日"）
    const today = new Date().toLocaleDateString();
    
    // 检查上次执行日期
    const lastExecuted = storage.get("lastExecutedDate");
    console.log("新村任务上次执行于："+lastExecuted);
    
    // 如果今天还未完成新村任务
    if (lastExecuted !== today) {
        //知识问答
        const ifSuccess = finfish();
        if (ifSuccess) {
            // 更新最后执行日期为今天
            storage.put("lastExecutedDate",today);
            console.info("完成");
            for (var i = 5; i > 0; i--){
                console.log(i+"秒后自动退出");
                sleep(1000);
            }
            console.hide();
        } else {
            console.info("未领取加速币");
            for (var i = 5; i > 0; i--){
                console.log(i+"秒后自动退出");
                sleep(1000);
            }
            console.hide();
        }
    } else {
        sleep(1000);
        console.info("今日已完成新村任务");
        for (var i = 5; i > 0; i--){
            console.log(i+"秒后自动退出");
            sleep(1000);
        }
        console.hide();
    }
    return true;
}


// 打开蚂蚁新村
var go = text("蚂蚁新村").findOne(1000);
if (go) {
    click(go.bounds().centerX(), go.bounds().centerY());
}
toast("进入蚂蚁新村");
sleep(5000);
//等待进入蚂蚁新村 最长等待10秒
const title = textContains("蚂蚁新村").findOne(10000);
if (!title) {
    toast("进入蚂蚁新村页面失败");
    // exit();
} else {
    for (let i = 0; i < 2; i++) {
        click(device.width*0.5,device.height*0.52);
        sleep(1000);
        if (i == 1) {
            // 导入必要的模块
            const storage = storages.create("time_execution");
            // 获取当前时间戳（毫秒数）
            const currentTime = new Date().getTime();
            console.show();
            console.setPosition(200, 100)
            // 获取上次存储的时间
            const lastTime = storage.get("lastExecutedTimestamp");
            if (lastTime) {
                // 计算时间差（小时）
                const hoursDiff = (currentTime - lastTime) / (1000 * 60 * 60);
                
                if (hoursDiff >= 6) {
                    console.info("距离上次摆摊已满6小时");
                    sleep(2000);
                    console.hide();
                    storage.put("lastExecutedTimestamp", currentTime); // 更新存储时间
                    /************业务逻辑*****************/ 
                    master();
                } else {
                    console.log("距离上次摆摊不够6小时，不进行摆摊");
                    console.info("距离摆摊时间还有"+(6-hoursDiff)+"小时");
                    sleep(1000);
                    speed();
                    // console.hide();
                    // back();
                }
            } else {
                // 首次执行时直接存储
                storage.put("lastExecutedTimestamp", currentTime);
                console.log("首次执行的时间戳"+currentTime);
                master();
            }
        }
    }
}

//去好友摆摊收摊
function master() {
    click(device.width*0.84,device.height*0.92); //摆摊赚币
    sleep(500);
    var qbst = text("全部收摊").findOne(2000); //全部收摊
    if (qbst) {
        qbst.click();
    } else {
        toast("未找到全部收摊按钮");
    }
    sleep(500);
    var qrst = text("确认收摊").findOne(2000); //确认收摊
    if (qrst) {
        qrst.click();
    } else {
        toast("未找到确认收摊按钮");
    }
    sleep(2000);
    var sjbt = text("随机摆摊").findOne(2000); //随机摆摊
    if (sjbt) {
        sjbt.click();
    } else {
        toast("未找到随机摆摊按钮");
    }
    sleep(1000);
    var backxincun = click("返回新村");
    sleep(500);
    if (backxincun) {
        // 点击遮罩关闭弹窗
        click(device.width/2,device.height*0.15);
        sleep(500);
        speed();
    }
}

function speed() {
    // 加速产币
    console.show();
    console.setPosition(200, 100)
    click(device.width*0.52,device.height*0.92);
    sleep(500);
    // 新村任务领取
    var success = toRunOnceDaily();
    if (success) {
        sleep(1000);
        back();
        sleep(1000);
        home();
        sleep(1000);
        //自动息屏
        var success = runtime.accessibilityBridge.getService().performGlobalAction(android.accessibilityservice.AccessibilityService.GLOBAL_ACTION_LOCK_SCREEN);
        exit();
    }
    return true;
}

